import numpy as np

samples = ['The cat sat on the mat.', 'The dog ate my homework.']
token_index = {} # 构建数据中所有标记的索引

for sample in samples:
    # 切割字符
    # 利用split方法对样本进行分词。在实际应用中，还需要从样本中去掉标点和特殊字符
    for word in sample.split():
        # 判断列表
        if word not in token_index:
            # 添加字典信息
            # 为每个唯一单词指定一个唯一索引。首位索引为1
            token_index[word] = len(token_index) + 1
# 对样本进行分词。只考虑每个样本max_length个单词
max_length = 6
# 将结果保存在results 147 1,391
# 全零数组 结果数据将保存在results
results = np.zeros(shape=(len(samples),
                          max_length,
                          max(token_index.values())+ 1))

# 组合为索引序列，数据与编号一同使用
for i, sample in enumerate(samples):
    # 先转为枚举，再转list列表取出list（0-max_length）
    for j, word in list(enumerate(sample.split()))[:max_length]:
        index = token_index.get(word)
        results[i,j,index] = 1.

print(results)